<template>
  <div ref="echartsRef" class="card content-box"></div>
</template>

<script setup lang="ts" name="columnChart">
  import { ref, onMounted } from "vue"
  import * as echarts from "echarts"
  import { useEcharts } from "@/hooks/useEcharts"
  const echartsRef = ref<HTMLElement>()
  onMounted(() => {
    let myChart: echarts.ECharts = echarts.init(echartsRef.value as HTMLElement)
    let option: echarts.EChartsOption = {
      tooltip: {
        trigger: "axis",
        axisPointer: {
          type: "shadow"
        }
      },
      legend: {
        textStyle: {
          color: "#a1a1a1"
        }
      },
      grid: {
        left: "3%",
        right: "4%",
        bottom: "3%",
        containLabel: true
      },
      xAxis: [
        {
          type: "category",
          data: ["Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"],
          axisLabel: {
            color: "#a1a1a1"
          }
        }
      ],
      yAxis: [
        {
          type: "value",
          axisLabel: {
            color: "#a1a1a1"
          }
        }
      ],
      series: [
        {
          name: "Direct",
          type: "bar",
          emphasis: {
            focus: "series"
          },
          data: [320, 332, 301, 334, 390, 330, 320]
        },
        {
          name: "Email",
          type: "bar",
          stack: "Ad",
          emphasis: {
            focus: "series"
          },
          data: [120, 132, 101, 134, 90, 230, 210]
        },
        {
          name: "Union Ads",
          type: "bar",
          stack: "Ad",
          emphasis: {
            focus: "series"
          },
          data: [220, 182, 191, 234, 290, 330, 310]
        },
        {
          name: "Video Ads",
          type: "bar",
          stack: "Ad",
          emphasis: {
            focus: "series"
          },
          data: [150, 232, 201, 154, 190, 330, 410]
        },
        {
          name: "Search Engine",
          type: "bar",
          data: [862, 1018, 964, 1026, 1679, 1600, 1570],
          emphasis: {
            focus: "series"
          },
          markLine: {
            lineStyle: {
              type: "dashed"
            },
            data: [[{ type: "min" }, { type: "max" }]]
          }
        },
        {
          name: "Baidu",
          type: "bar",
          barWidth: 5,
          stack: "Search Engine",
          emphasis: {
            focus: "series"
          },
          data: [620, 732, 701, 734, 1090, 1130, 1120]
        },
        {
          name: "Google",
          type: "bar",
          stack: "Search Engine",
          emphasis: {
            focus: "series"
          },
          data: [120, 132, 101, 134, 290, 230, 220]
        },
        {
          name: "Bing",
          type: "bar",
          stack: "Search Engine",
          emphasis: {
            focus: "series"
          },
          data: [60, 72, 71, 74, 190, 130, 110]
        },
        {
          name: "Others",
          type: "bar",
          stack: "Search Engine",
          emphasis: {
            focus: "series"
          },
          data: [62, 82, 91, 84, 109, 110, 120]
        }
      ]
    }
    useEcharts(myChart, option)
  })
</script>

<style scoped lang="scss">
  @import "./index.scss";
</style>
